方永、南天紫雲

道亦有道

sddns(dnspod client for OpenWrt)使用说明
2012年08月19日

之前讨论过OpenWrt怎样使用dnspod的动态域名解析,最终制作了一个ipk包,在这里做一个汇总,将这个软件包的使用步骤说明一下。

由于没有luci界面,只能通过ssh操作,故要求掌握最基本的ssh登录、vi的使用。

  1. 注册域名。

  2. 在DNSPod(https://www.dnspod.cn/)注册帐号并添加域名,并修改域名注册商处的域名DNS地址,可参照这里

  3. 添加一个A记录,子域名如”openwrt”,可参照这里

  4. 安装sddns包,用ssh(可用putty)登录到OpenWrt,执行:

    opkg update
    wget http://vincasrcfiles.googlecode.com/files/sddns_0.0.7-1_all.ipk
    opkg install sddns_0.0.7-1_all.ipk
    rm sddns_0.0.7-1_all.ipk
    

    若提示curl错误,请先安装curl软件包。

  5. 配置sddns,sddns的配置文件在/etc/config/目录中,格式如下:

    config base_arg
    option 'login_email' '[email protected]'   #登录邮箱
    option 'login_password' 'ccdd'  #登录密码
    option 'main_domain' 'baidu.com'  #域名,形如"baidu.com"
    option 'sub_domain' 'xx' #主机记录,形如"xx.baidu.com"
    

下面这个区域不需做任何配置,sddns会存放一些临时数据,如果更改了上面的域名与主机记录,删除下面区域中的"xxx_id"项

config tmp_arg

ssl cacert file or directory

option 'cacert' '/etc/ssl/cacert.pem'   # 证书文件位置,默认不用修改
option 'wanip' 'c.lexun.com/ip'
```

将dnspod注册的邮箱、密码,以及域名、第三步添加的子域名的名称填到对应条目,保存退出,然后直接执行sddns,若提示中有`”message”:”Action completed successful”`,则表明正确执行了。

*由于明文存储,请注意密码的安全性。建议加强OpenWrt的安全策略。*
  1. 添加一个定时执行条目,如在 /etc/crontabs/root中添加(建议使用 crontab -e 命令:

    \*/15 * * * * /usr/bin/sddns 2>/dev/null #ddns
    

    即每隔15分钟执行一次sddns,注意星号间的空格。

    OpenWrt中crontab使用注意事项请看这里

  2. 登录dnspod网站,检查操作记录,是否如上一步所设定的时间间隔更新域名信息。

    最新版及更新记录在这里

2012年12月30日此文檔更新:

OpenWrt以外的操作系統使用辦法:

將.ipk文件(標準的.tar.gz文件)用7z-zip等解壓工具打開,會看到debian-binary、data.tar.gz、control.tar.gz文件,繼續打開data.tar.gz,將usr/bin/中sddns提取出來,這即是核心文件;再在control.tar.gz中提取etc/config/sddns配置文件,放在$HOME/或/etc下,配置請參見這裡

若域名更新失敗并且sddns沒有任何提示,刪除 /etc/config/sddns 中含有 option cur_ip 的行并再次執行sddns。

2013年08月07日此文檔更新:

由於0.0.9以上版本面向通用的linux/xBSD,故不再使用OpenWrt的functions.sh,配置文件格式有所變化,可參考這裏

最近更新請看這裏